package com.cango.qutz.web.auth.authdept.service;

import java.util.List;

import com.cango.framework.base.pagination.PageInfo;
import com.cango.qutz.web.entity.AuthDeptEntity;
import com.cango.framework.base.pagination.PaginationResult;
import com.cango.qutz.web.entity.AuthDeptEntity;

/**
 * <p>ClassName: IAuthDeptService</p>
 * <p>Description: 部门维护Service接口</p>
 * <p>Author: wzx</p>
 * <p>Date: 2015-04-20</p>
 */
public interface IAuthDeptService {
    /**
     * <p>Description: 插入部门</p>
     * @param authDept 部门对象
     * @return
     */
    int insert(AuthDeptEntity authDept);
    
    /**
     * <p>Description: 更新部门</p>
     * @param authDept 部门对象
     * @return
     */
    int update(AuthDeptEntity authDept);
    
    /**
     * <p>Description: 删除部门/p>
     * @param authDept 部门对象
     * @return
     */
    int delete(AuthDeptEntity authDept);
    
    /**
     * <p>Description: 根据部门ID查询部门记录</p>
     * @param deptId 部门Id
     * @return 部门对象
     */
    AuthDeptEntity queryObjectById(Integer deptId);
    
    /**
     * <p>Description: 查询部门记录列表</p>
     * @param param 部门对象
     * @return 部门记录列表
     */
    List<AuthDeptEntity> queryList(AuthDeptEntity param);
    
    /**
     * <p>Description: 分页查询部门记录列表</p>
     * @param param 部门对象
     * @param pageinfo 分页对象
     * @return 分页记录
     */
    PaginationResult<AuthDeptEntity> queryListByPage(AuthDeptEntity param, PageInfo pageinfo);
    
    /**
     * <p>Description: 验证部门代码是否已存在</p>
     * @param deptCode 部门代码
     * @return 布尔值,是否存在
     */
    boolean validDeptCode(String deptCode);
}
